import axios from "axios"
import BaseUrl from "@/http/url.js"
import Vue from 'vue';
import { Toast } from 'vant';
Vue.use(Toast);
var http = function (methods, url, data) {
    url = BaseUrl + url
    var p = new Promise((reslove, reject) => {
        if (methods == "get") {
            axios.get(url, data).then(res => {
                reslove(res);
            }).catch(error => {
                reject(error)
            })
        }

        // 添加请求拦截器
        axios.interceptors.request.use(function (config) {
            // 在发送请求之前做些什么
            Toast.loading({
                message: '加载中...',
                forbidClick: true,
            });
            return config;
        }, function (error) {
            // 对请求错误做些什么
            return Promise.reject(error);
        });


        // 添加响应拦截器
        axios.interceptors.response.use(function (response) {
            // 对响应数据做点什么
            Toast.clear
            return response;
        }, function (error) {
            // 对响应错误做点什么
            return Promise.reject(error);
        });



        if (methods == "post") {
            axios.post(url, data).then(res => {
                reslove(res);
            }).catch(error => {
                reject(error)
            })

        }
    })
    return p

}

export default http



